New interface for SDDP#142
Conversation
Add generic interface for quadratic regularization
| ProgressMeter | ||
| Interpolations | ||
| Iterators | ||
| CutPruners |
There was a problem hiding this comment.
We need to register the Packages or at least give instruction to install
| (verbose > 0) && println("Initial value function loaded into memory.") | ||
| function solve_SDDP(model::SPModel, param::SDDPparameters, verbose=0::Int64; | ||
| stopcrit::AbstractStoppingCriterion=IterLimit(20), | ||
| prunalgo::AbstractCutPruningAlgo=CutPruners.AvgCutPruningAlgo(-1), |
There was a problem hiding this comment.
If CutPruningAlgo is an independent package we should keep a way of doing no cut pruning without calling this package.
There was a problem hiding this comment.
You don't want to put CutPruners in the REQUIRE file ?
There was a problem hiding this comment.
I think that we should keep CutPruners in REQUIRE, and register this package in METADATA.
In my previous answer, I rather mean that I have to change the default argument prunalgo in solve_SDDP so as to perform no cuts pruning by default.
There was a problem hiding this comment.
If I am a new user I might find disturbing to find that I need to install a new package (CutPruners) even if I don't want to use it.
I have to find out if there is a way to check if a package is installed and load and use it in this case without having it in REQUIRE. Same thing apply to plot packages.
There was a problem hiding this comment.
Ok after some reading (e.g. JuliaLang/julia#6195) the feature I want is not ready yet. Some workaround exists but are not really useful as of now if the other package in REQUIRE are in METADATA.jl
There was a problem hiding this comment.
You could use eval to check whether a module is installed react depending on this but this does not work anymore on Julia v0.6 since JuliaLang/julia#265 has been merged (see e.g. JuliaOpt/MathProgBase.jl#150).
| end | ||
| end | ||
|
|
||
|
|
There was a problem hiding this comment.
Precise when the function is called, e.g. between two iterations of sddp
| using MathProgBase, JuMP, Distributions | ||
| using MathProgBase, JuMP, Distributions, StochasticDualDynamicProgramming | ||
| using DocStringExtensions | ||
| using CutPruners |
There was a problem hiding this comment.
If CutPruners is independant we should try to have a mechanism to be able to use the package without it
**Warning: ** these two packages are currently unregistered in julia's METADATA